package com.xique.park.bean.request.app;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * ParkCarAddRequest
 *
 * @author xique
 */
@Data
public class ParkCarAddRequest {

    /* ------------------- 用户信息 ------------------- */

    /**
     * 用户id，如果用户时从已有用户中选择，则不为空；如果是新增则为空
     */
    private Long userId;

    /**
     * 姓名
     */
    private String userName;

    /**
     * 车主电话
     */
    private String phone;

    /**
     * 地址
     */
    private String address;

    /**
     * 用户备注
     */
    private String userRemark;

    /**
     * 座机
     */
    private String telephone;

    /**
     * 用户信息是否修改
     */
    private String isUserUpdate;

    /* ------------------- 车辆信息 ------------------- */

    /**
     * 管理类型大类
     */
    @NotBlank(message = "管理大类不能为空")
    private String mngType;

    /**
     * 管理类型小类id
     */
    @NotNull(message = "管理类型不能为空")
    private Long mngTypeId;

    /**
     * 起始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginDate;

    /**
     * 截至日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 永久状态，是否永久不过期
     */
    private Boolean foreverStatus;

    /**
     * 应收金额（分）
     */
    private Integer mayFee;

    /**
     * 实收金额（分）
     */
    private Integer actualFee;

    /**
     * 支付方式
     */
    private String payType;

    /**
     * 备注
     */
    private String remark;

    /**
     * 状态
     */
    private String status;

    /* ------------------- 车位信息 ------------------- */

    /**
     * 是否分车库统计车位（Y：是，N：否）
     */
    private String isGarageSpace;

    /* 不分车库统计车位 */

    /**
     * 车位数
     */
    private Integer spaceCnt;

    /**
     * 车位号
     */
    private String seatNo;

    /* 分车库统计车位 */

    private List<ParkCarAddGarageSpaceRequest> spaceList;

    /* ------------------- 车牌信息 ------------------- */

    /**
     * 车牌字符串，用逗号隔开
     */
    @NotBlank(message = "车牌号不能为空")
    private String plates;

    private Long parkId;

}
